package com.ruibang.glass.quality.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ruibang.glass.quality.domain.req.*;
import com.ruibang.glass.quality.domain.resp.DefectDetailResp;
import com.ruibang.glass.quality.domain.resp.DiscardData;
import com.ruibang.glass.quality.domain.resp.ExternalDefectOverlayMap;
import com.ruibang.glass.quality.domain.resp.ReceivePackage;
import com.ruibang.glass.quality.entity.*;

import java.time.LocalDate;
import java.util.List;
import java.util.Map;


public interface TotalEquDataService extends IService<TotalEquData> {
    List<EveryHourColdDirectLoss> queryEveryHourColdDirect(String currentDay);

    List<ReceivePackage> queryTodayReceiveData(String currentDay);

    EverydayColdDirectLoss queryEverydayHourColdDirect(String currentDay);

    List<EverydayDefectLoss> queryEverydayDefectLose(DefectLossReq defectLossReq);

    List<EveryHourDefectLoss> queryEveryHourDefectLose(DefectLossReq defectLossReq);

    List<BandDefectData> queryBandDefectData(String selectSql);

    List<LocalDate> datePeriod(String startTimeStr, String endTimeStr);

    void importEveryHourDiscardDefect(DiscardDefectReq defectReq);

    void importHotEndDiscardDefectData(DefectHourTaskReq defectHourTaskReq);

    void importEverydayDiscardDefect(DiscardDefectReq defectReq);

    void importDiscardDefectData(DiscardDefectReq defectReq);

    int getDefectNum(List<DictInfo> dictInfos, DiscardData discard, Map<String, String> discardField);

    List<EveryHourArchiveDefect> queryEveryHourArchiveDefect(ArchiveDefectReq archiveDefectReq);

    List<EverydayArchiveDefect> queryEverydayArchiveDefect(ArchiveDefectReq archiveDefectReq);

    List<ExternalDefectOverlayMap> queryExternalDefectOverlayMap(ExternalDefectReq externalDefectReq);

    List<DefectDetailResp> queryDefectDetailData(String selectSql);

    void importEveryHourDefectLoss(DefectLossReq defectLossReq);

    void importEverydayDefectLoss(DefectLossReq defectLossReq);

    void importEveryHourColdDirect(int dayNum);

    void importEverydayColdDirect(int dayNum);
}